As we are more connected to Internet by many devices, estimating usage time of network applications connected to Internet has become more important for our lives, in terms of parental controls, employee monitoring, malware protection, etc. Most of these devices are mobile, have many types, and reside in many locations. Measuring usage time of Internet applications locally on each device is not only unpractical, but it is also expensive. This invention presents a practical and inexpensive way of estimating Internet usage time of network applications, as well as limiting their usage times.
On Internet, every service or website is referred by its domain name which is stored on Domain Name Servers (DNS server). As shown in FIG. 1, before a PC 100 wants to connect to a web server 130, first it send a query to its DNS server 140 to find the Internet Protocol (IP) address of the website. After the device gets the response from its DNS server, it connects to the website.
Every response from the DNS server has an expiration time called TTL embedded in the DNS response packet. The main reasons for using TTL are to adjust DNS load on authoritative DNS servers, to control propagation speed of DNS record changes, as well as to reduce effects of DNS cache poisoning.